package ltd.hxya.novel.book.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import ltd.hxya.novel.book.dto.BookInfoRespDto;
import ltd.hxya.novel.book.dto.BookRankRespDto;
import ltd.hxya.novel.book.dto.HomeBookRespDto;
import ltd.hxya.novel.book.entity.Book;
import ltd.hxya.novel.book.entity.BookInfo;

import java.util.List;

/**
 * <p>
 * 前端排行书显示
 * </p>
 * @author ZWW
 * @since 2022-11-14
 */
public interface BookInfoService extends IService<BookInfo> {

    /**
     * 列表排行榜处理
     * @return   列表排行榜处理
     * @param bookInfoQueryWrapper
     */
    List<BookRankRespDto> listNewestRankBooks(QueryWrapper<BookInfo> bookInfoQueryWrapper);

    /**
     * 小说点击榜的处理
     * @return 小说点击榜
     */
    List<BookRankRespDto> listVisitRankBooks();

    /**
     * 小说更新榜查询接口
     */
    List<BookRankRespDto> listUpdateRankBooks();

    List<BookInfo> getbookList(QueryWrapper<BookInfo> bookInfoQueryWrapper);

    BookInfo selectById(String id);

    /**
     * 查询小说信息，根据bookId
     * @param bookId
     * @return
     */
    BookInfoRespDto getBookInfo(String bookId);

    void saveBookInfo(List<Book> books,Integer type);

    List<HomeBookRespDto> listHomeBooks();

    List<BookInfo> selectByType(Integer type);
}
